home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2002 November / SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso / dist / motif21_dev.idb / usr / Motif-2.1 / include / Xm / DragOverSP.h.z / DragOverSP.h
C/C++ Source or Header  |  2002-10-15  |  4KB  |  129 lines

  1. /* 
  2.  *  @OSF_COPYRIGHT@
  3.  *  COPYRIGHT NOTICE
  4.  *  Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
  5.  *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
  6.  *  the full copyright text.
  7. */ 
  8. /* 
  9.  * HISTORY
  10. */ 
  11. /*   $XConsortium: DragOverSP.h /main/9 1995/07/14 10:26:38 drk $ */
  12. /*
  13. *  (c) Copyright 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  14. #ifndef _XmDragOverSP_h
  15. #define _XmDragOverSP_h
  16.  
  17. #include <X11/Shell.h>
  18. #include <X11/ShellP.h>
  19. #include <Xm/XmP.h>
  20. #include <Xm/DragIconP.h>
  21. #include <Xm/DragOverS.h>
  22.  
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26.  
  27. #define DOExpose(do) \
  28.     ((XtClass(do))->core_class.expose) ((Widget)(do), NULL, NULL)
  29.  
  30. /* 
  31.  * DRAGOVER SHELL
  32.  */
  33. typedef struct 
  34. {
  35.     XtPointer                extension;
  36.  
  37. #ifdef _SGIMOTIF
  38.     XtPointer _SG_vendorExtension;
  39. #endif    
  40. } XmDragOverShellClassPart;
  41.  
  42. /* Full class record declaration */
  43.  
  44. typedef struct _XmDragOverShellClassRec 
  45. {
  46.     CoreClassPart         core_class;
  47.     CompositeClassPart         composite_class;
  48.     ShellClassPart         shell_class;
  49.     WMShellClassPart            wm_shell_class;
  50.     VendorShellClassPart     vendor_shell_class;
  51.     XmDragOverShellClassPart     dragOver_shell_class;
  52. } XmDragOverShellClassRec;
  53.  
  54. externalref XmDragOverShellClassRec xmDragOverShellClassRec;
  55.  
  56. typedef struct _XmBackingRec{
  57.     Position    x, y;
  58.     Pixmap    pixmap;
  59. }XmBackingRec, *XmBacking;
  60.  
  61. typedef struct _XmDragOverBlendRec{
  62.     XmDragIconObject        sourceIcon;    /* source icon */
  63.     Position            sourceX;    /* source location in blend */
  64.     Position            sourceY;    /* source location in blend */
  65.     XmDragIconObject        mixedIcon;    /* blended icon */
  66.     GC                gc;        /* appropriate depth */
  67. }XmDragOverBlendRec, *XmDragOverBlend;
  68.  
  69. typedef struct _XmDragOverShellPart{
  70.     Position        hotX;        /* current hotX */
  71.     Position        hotY;        /* current hotY */
  72.     unsigned char    cursorState;    /* current cursor state */
  73.     unsigned char    mode;
  74.     unsigned char    activeMode;
  75.  
  76.     Position        initialX;    /* initial hotX */
  77.     Position        initialY;    /* initial hotY */
  78.  
  79.     XmDragIconObject    stateIcon;    /* current state icon */
  80.     XmDragIconObject    opIcon;        /* current operation icon */
  81.  
  82.     XmDragOverBlendRec    cursorBlend;    /* cursor blending */
  83.     XmDragOverBlendRec    rootBlend;    /* pixmap or window blending */
  84.     Pixel        cursorForeground;
  85.     Pixel        cursorBackground;
  86.     Cursor        ncCursor;    /* noncached cursor */
  87.     Cursor        activeCursor;    /* the current cursor */
  88.  
  89.     XmBackingRec    backing;     /* backing store for pixdrag */
  90.     Pixmap        tmpPix;        /* temp storage for pixdrag */
  91.     Pixmap        tmpBit;        /* temp storage for pixdrag */
  92.  
  93. #ifdef _SGIMOTIF
  94.     XtPointer _SG_vendorExtension;
  95. #endif    
  96.     Boolean             isVisible;    /* shell is visible */
  97.  
  98.     /* Added for ShapedWindow dragging */
  99.     /* Resources */
  100.     Boolean        installColormap;/* Install the colormap */
  101.  
  102.     /* locals */
  103.     Boolean        holePunched;    /* true if hole is punched */
  104.  
  105.     /* the following variables are used to make sure the correct colormap */
  106.     /* is installed.  colormapWidget is initially the parent widget, but */
  107.     /* can be changed by calling DragShellColormapWidget.        */
  108.     Widget        colormapWidget;    /* The widget I'm dragging from */
  109.     Widget        colormapShell;    /* It's shell, install colormap here */
  110.     Boolean        colormapOverride; /* shell is override rediirect */
  111.     Colormap*        savedColormaps;    /* used with override redirect */
  112.     int            numSavedColormaps;
  113. }XmDragOverShellPart;
  114.  
  115. typedef  struct _XmDragOverShellRec{
  116.     CorePart         core;
  117.     CompositePart     composite;
  118.     ShellPart         shell;
  119.     WMShellPart        wm;
  120.     VendorShellPart    vendor;
  121.     XmDragOverShellPart    drag;
  122. } XmDragOverShellRec;
  123.  
  124. #ifdef __cplusplus
  125. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  126. #endif
  127.  
  128. #endif /* _XmDragOverSP_h */
  129.